Accompanying control of locomotion device

ABSTRACT

A control system includes a locomotion device that is configured to accompany a moving object such as a human operator or a robotic device. The control system is configured to control a motion of the locomotion device based on a location of at least one of the moving object relative to the locomotion device or a location of the locomotion device relative to the moving object. The control system is configured to control the locomotion device to maintain a position of the locomotion device with respect to the moving object to thereby synchronize the motion of the locomotion device with a motion of the moving object.

TECHNICAL FIELD

This disclosure relates generally to accompanying control of alocomotion device that is configured to move by its own power.

BACKGROUND

Recent advancements in technology related to design of efficientelectric motors and energy storage methods enabled various electricallocomotion devices. For example, the locomotion devices may includepersonal locomotion devices such as a robotic travel luggage, anintelligent shopping cart, etc.

In some examples, a human following locomotion system may be controlledto follow a path of a human operator while avoiding obstacles ifnecessary. One of the methods used in a human following device mayinclude obtaining information about the human operator's locationrelative to a locomotion device by real-time processing of human imagesobtained by one or more cameras installed on the device. In theseexamples, the human operator may be free from the device. In some cases,the cameras may malfunction, for example, under illumination changes,and an accurate motion control would be difficult in a congestedenvironment.

In other examples, a human following control system may use wirelesscommunication technology such as an ultra-wide band or Bluetoothtechnology, etc. In some cases of wireless communication technology, anaccuracy of following control may be limited by a precision level oflocalization information of a human operator.

In some examples, ultrasonic transducer systems may be used. Forinstance, at least two ultrasonic receivers installed on a locomotiondevice may track ultrasonic waves generated from an ultrasonictransmitter carried by a human operator. In some cases of ultrasoniccommunication, an interference may be caused by waves from othertransmitters or indirect transmission of waves due to reflection of thewaves from an environment, and a human following control based onultrasonic communication techniques may be limited in an accuracy,precision, or latency of the control.

SUMMARY

This disclosure describes an accompanying locomotion system that canaccompany a moving object. For example, the locomotion system mayaccompany a human operator. In some implementations, the accompanyinglocomotion systems may be different from other object following systemsthat are controlled to follow a path of a moving object such as a humanoperator. In some implementations, a human accompanying locomotionsystem is controlled to move based on a movement of the human operatorin a synchronized fashion, maintaining a range from the human operator(e.g., a constant position or a range relative to a human operator) andavoiding obstacle if necessary. For example, the human accompanyinglocomotion system may be placed at any position relative to a humanoperator during operation. In particular, the human accompanyinglocomotion system may be controlled to accompany the human operate atany of positions in front of, at the back of, on the left side of, or onthe right side of the human operator.

This disclosure also describes an accompanying control method of alocomotion device that includes a power source. In some examples, thecontrol system may include at least one position measurement systemutilizing polar coordinates to locate a point on a moving object such asa human operator relative to the locomotion device. The control systemmay obtain information about a motion of the moving object and alocation of the moving object relative to the locomotion device througha position measurement system. The control system may control thelocomotion device based on the obtained information such that thelocomotion device accompanies the moving object at a constant positionrelative to the moving object.

According to one aspect of the subject matter described in thisapplication, a system configured to accompany a moving object includesat least one locomotion device configured to move on a ground surfaceand to be controlled based on at least two degrees of freedom of motionon the ground surface, a coordinates measurement unit configured tomeasure polar coordinates of the moving object relative to thelocomotion device, and a controller configured to, based on the polarcoordinates of the moving object relative to the locomotion device,control a motion of the locomotion device to maintain a position of thelocomotion device within a preset range with respect to the movingobject. The polar coordinates of the moving object relative to thelocomotion device is determined based on polar coordinates of a point onthe moving object relative to a reference coordinates system fixed tothe locomotion device.

Implementations according to this aspect may include one or more of thefollowing features. For example, the locomotion device includes a powersource configured to supply power that enables the motion of thelocomotion device, and a driving device configured to move thelocomotion device based on the power supplied from the power source. Insome examples, the polar coordinates of the moving object include adistance component that represents a distance between a first point ofthe moving object projected onto the ground surface and a second pointof the locomotion device projected onto the ground surface, and an anglecomponent that represents an angle defined by an extension line from thefirst point to the second point on the ground surface with respect to areference line passing the second point on the ground surface. Thecontroller is configured to control the motion of the locomotion deviceto maintain at least one of the distance component or the anglecomponent within a range from preset values.

In some implementations, the locomotion device includes one of: anomnidirectional-drive device configured to drive the locomotion devicebased on three degrees of freedom of motion on the ground surface; adifferential-drive device including two wheels configured to rotateabout rotation axes that are collinear and that are configured to beindependently controlled; a tricycle-drive device including at least onesteering wheel configured to control a travel direction of thelocomotion device and at least one driving wheel configured to move thelocomotion device; or a legged-drive device including at least two legsthat are configured to be independently controlled. In someimplementations, the system further includes a string dispensing tubethat is coupled to the coordinates measurement unit and that isconfigured to accommodate and dispense a string configured to connectthe locomotion device to the moving object.

In some implementations, the coordinates measurement unit includes aretractable string mechanism including: a body disposed at thelocomotion device; a string configured to be dispensed from andretracted into the body; a first rotary sensor configured to measure alength of a dispensed portion of the string; a second rotary sensorconfigured to measure an orientation of the dispensed portion of thestring with respect to the locomotion device; and a tension deviceconfigured to provide a tension to the string to thereby allow thestring to be retracted into the body. The string may have apredetermined length. In some examples, the tension device includes aspiral torsion spring connected to the string. In some examples, thetension device includes an electric motor connected to the string andconfigured to control the tension in the string.

In some implementations, the controller is further configured to: obtainsequential data including at least one of a length or an orientation ofthe dispensed portion of the string as a function of time; recognizepredefined signal patterns or gestures of the moving object from thesequential data; and perform tasks corresponding to the recognizedsignal patterns or gestures.

In some implementations, the coordinates measurement unit includes alaser distance measurement system configured to output light and receivereturned light, where the laser distance measurement system isconfigured to: generate a set of range data including a plurality ofpolar coordinates corresponding to a plurality of points of the movingobject relative to the locomotion device; and output, among the set ofrange data, one of the plurality of polar coordinates corresponding toat least one point of the moving object relative to the locomotiondevice.

In some implementations, the polar coordinates measurement unit includesa camera system configured to capture images, where the camera system isconfigured to: based on the images, generate a set of range dataincluding a plurality of polar coordinates corresponding to a pluralityof points of the moving object relative to the locomotion device; andoutput, from the set of range data, one of the plurality of polarcoordinates corresponding to at least one point of the moving objectrelative to the locomotion device.

In some implementations, the controller is further configured to, basedon polar coordinates of a point of the moving object projected onto theground surface, control the motion of the locomotion device to maintainthe polar coordinates of the point of the moving object relative to thelocomotion device within a range from a preset value.

In some implementations, the controller is further configured to: obtainCartesian coordinates of a point of the moving object projected onto theground surface based on a polar-to-Cartesian transformation of polarcoordinates of the point of the moving object projected onto the groundsurface; and based on the Cartesian coordinates of the point of themoving object projected onto the ground surface, control the motion ofthe locomotion device to maintain the Cartesian coordinates of the pointof the moving object relative to the locomotion device within a rangefrom a preset value. Here, the Cartesian coordinates includes at leasttwo distance components defined along two axes that are orthogonal toeach other.

In some implementations, the coordinates measurement unit includes aretractable string mechanism including: a body disposed at thelocomotion device; a string configured to be dispensed from andretracted into the body; a rotary sensor configured to measure a lengthof a dispensed portion of the string; a force sensor configured tomeasure each of a tension in the string and an orientation of thedispensed portion of the string with respect to the locomotion device;and a tension device configured to provide the tension to the string tothereby allow the string to be retracted into the body. The string mayhave a predetermined length.

In some implementations, the coordinates measurement unit includes aretractable string mechanism including: a string configured to beelongated by a tension applied to the string; and a force sensorconfigured to measure each of the tension applied to the string, anorientation of the elongated string with respect to the locomotiondevice, and a length of the elongated string.

In some implementations, the controller is configured to: in anaccompanying mode, control the motion of the locomotion device based onboth of (i) a distance between the moving object and the locomotiondevice and (ii) an angle of a direction of the moving object withrespect to the locomotion device to thereby maintain the distance andthe angle within a preset distance range and a preset angle range,respectively; and in a following mode, control the motion of thelocomotion device based on the distance between the moving object andthe locomotion device to maintain the distance within the presetdistance range.

In some implementations, the controller is further configured to: definea plurality of regions around the locomotion device; determine whetherthe position of the moving object corresponds to one of the plurality ofregions; and control the motion of the locomotion device according tothe one of the plurality of regions.

According to another aspect, a system configured to accompany a movingobject includes at least one locomotion device configured to move on aground surface and to be controlled based on at least two degrees offreedom of motion on the ground surface, a coordinates measurement unitconfigured to measure polar coordinates of the locomotion devicerelative to the moving object, and a controller configured to, based onthe polar coordinates of the locomotion device relative to the movingobject, control a motion of the locomotion device to maintain a positionof the locomotion device within a preset range with respect to themoving object. The polar coordinates of the locomotion device relativeto the moving object are determined based on polar coordinates of apoint on the locomotion device relative to a reference coordinatessystem fixed to the moving object.

Implementations according to this aspect may include one or more of thefeatures described above.

Implementations of the described techniques may include hardware, amethod or process implemented at least partially in hardware, or acomputer-readable storage medium encoded with executable instructionsthat, when executed by one or more processors, perform operations.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features will beapparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates an example of an accompanying locomotion systemincluding a self-powered locomotion device connected to a human operatorthrough a string.

FIG. 2 illustrates example variables L, α, r, and θ that represent alength of an example string and an orientation of the string relative toan example locomotion device.

FIGS. 3A and 3B illustrate an example of an accompanying controllerconfigured to operate based on polar coordinates.

FIGS. 4 and 5 together illustrate a block diagram representing anexample of an accompanying controller to operate based on polarcoordinates.

FIGS. 6A and 6B illustrate an example of an accompanying controllerconfigured to operate based on Cartesian coordinates.

FIG. 7 illustrates a block diagram representing an example of anaccompanying controller configured to operate based on Cartesiancoordinates.

FIG. 8 illustrates another example of an accompanying controllerconfigured to operate based on polar coordinates.

FIG. 9 depicts a block diagram of an example of an accompanyingcontroller configured to operate based on polar coordinates.

FIG. 10 illustrates another example of an accompanying controllerconfigured to operate based on Cartesian coordinates.

FIG. 11 depicts a block diagram of an example of an accompanyingcontroller configured to operate based on Cartesian coordinates.

FIGS. 12A and 12B illustrate an example of a locomotion system includinga tricycle drive.

FIG. 13 illustrates a block diagram of an example of an accompanyingcontroller including a tricycle drive.

FIGS. 14A and 14B illustrate an example of a following controller.

FIG. 15 illustrates a block diagram of an example of a followingcontroller.

FIG. 16 illustrates an example of a non-collocated control systemincluding a sensor located at a position different from a location of acontrolled point.

FIG. 17 illustrates an example of a polar coordinates measurement systemincluding a string configured to be retracted by a spiral torsionspring.

FIG. 18 illustrates an example of a polar coordinates measurement systemincluding a string configured to be retracted by an electrical motor.

FIG. 19 illustrates an example of measuring an orientation of a stringby a force sensor.

FIG. 20 illustrates an example of measuring a length and an orientationof a string by force sensors.

FIG. 21 illustrates an example of wireless polar coordinates measurementsystem using a laser distance measurement system or stereo camerasystem.

FIG. 22 illustrates an example of a human accompanying operation usingdifferential drive locomotion device.

FIG. 23 illustrates example positions of a human operator in examplehuman accompanying operations.

FIGS. 24A and 24B illustrate examples of human accompanying operationswith a plurality of locomotion devices.

FIG. 25 illustrates an example of a programmable region defined aroundan example locomotion device.

FIG. 26 illustrates example gesture signals corresponding to changes inat least one of a length or an orientation of a string that connects amoving object and a locomotion device.

FIGS. 27A-27G illustrate example applications of accompanying control.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

FIG. 1 depicts an example of a human accompanying operation of alocomotion device. For example, the locomotion device may be driven by adriving device that includes two motorized wheels for a differentialdrive. In some examples, the locomotion device includes a power sourceto drive wheels 5, and may be referred to as a “self-powered” locomotiondevice 2. For example, the power source includes a battery, a solarpanel, a fuel cell, an engine, etc. The locomotion device 2 furtherincludes one or more controllers configured to, based on controlling thewheels 5, control a motion of the locomotion device 2. The controllerincludes a processor and a non-transitory memory storing instructionsconfigured to cause the processor to perform accompanying control of thelocomotion device 2. In some implementations, the locomotion device 2includes one or more auxiliary wheels 6 that support the locomotiondevice 2 together with the driving wheels 5 on a ground plane (i.e., aground surface).

In some implementations, a string 3 is dispensed through a stringdispensing tube 8 as a human operator 1 pulls out the string 3 out of aretractable string mechanism 4 installed on the self-powered locomotiondevice 2. The retractable string mechanism 4 includes a sensor installedinside the retractable string mechanism 4 and is configured to measure alength and a direction of a portion of the string 3 dispensed throughthe string dispensing tube 8. The string dispensing tube 8 is rotatablymounted on the retractable string mechanism 4. In some implementations,the self-powered locomotion device 2 is configured to, based on thelength of the dispensed portion of the string 3 reaching a predeterminedvalue, begin to move to accompany the human operator 1. In someimplementations, a moving object such as a robotic device, a mobilecart, etc. corresponds to the human operator 1. Thus, in the presentdisclosure, the human operator 1 and the moving object may beinterchangeably used.

The locomotion device 2 may perform a human accompanying operation byregulating both of the length and the relative orientation of the pulledstring within preset values. The locomotion device 2 may, by regulatingboth the length and the orientation of the string at preset values,accompany the human operator 1 while maintaining a constant positionrelative to the human operator 1. The human accompanying operationminimizes a physical interaction, e.g., a tension in the string 3connecting the human operator 1 to the locomotion device 2. Forinstance, the tension may be maintained by a spiral torsion spring at aproper level while avoiding an unacceptable amount of slack in thestring 3. In another, the tension in the string 3 may be activelycontrolled by a motor between a first level greater than a thresholdtensile force corresponding to a loose state and a second level lessthan a maximum tensile force corresponding a tense state that the humanoperator 1 can withstand.

FIG. 2 illustrates multiple variables for the human accompanyingcontrol. For example, an orientation angle θ of the string 3 representsan angle between a projection line 31 obtained by projecting the string3 perpendicularly onto a ground plane 7 and a reference line 32 that isparallel to the ground plane 7 and that extends in a fixed directionrelative to the locomotion device 2. Therefore, the angle θ representsan orientation of the human operator 1 relative to the locomotion device2. L denotes a length of a portion of the string 3 dispensed from theretractable string mechanism 4, and P denotes a point that isperpendicularly projected from a human-side end (the point Q) of thestring 3 onto the ground plane 7. As the human operator 1 moves on theground plane 7, the position of the point Q relative to the locomotiondevice 2 may change, and therefore L and θ may vary accordingly. It isassumed that the string 3 has a predetermined length that does notchange or change in a negligible amount by the tension in the string 3.

FIG. 2 also illustrates two more variables r and α in addition to thevariables θ and L. The variable r represents a distance between thepoint O and the point P, where the point O is a point where an axis 9 ofrotation of the string dispensing tube 8 intersects the ground plane 7.That is, the variable r represents a projected length of L onto theground plane 7. The variable α represents an elevation angle of thestring 3 relative to a plane parallel to the ground plane 7. The fourvariables r, L, α, and θ may change as the human operator 1 moves on theground plane 7.

In some implementations, the human accompanying control to maintain thelocomotion device 2 at a constant position relative to the humanoperator 1 may be accomplished by regulating primarily two variables rand θ at preset constant values, respectively. The variables r and θ maybe used as two variables of polar coordinates that represent the point Prelative to the point O. In some examples, controlling θ as well as r atpreset values may enable maintaining, during the human accompanyingoperation, a relative configuration of the locomotion device 2 withrespect to human operator 1. In some examples, r may be indirectlydetermined by an equation r=L cos(α).

Referring to FIGS. 3A and 3B, the locomotion device 2 includes at leasttwo degrees of freedom mobility on the ground plane 7, where aninstantaneous center (IC) of rotation of the locomotion device 2 may belocated at an arbitrary point on the ground plane 7. In some examples,the locomotion device 2 may have three degrees of freedom mobility,i.e., an omnidirectional mobility, including two degrees of freedomtranslational mobility and one degree of freedom rotational mobility onthe ground plane. Many different accompanying control methods may bedevised depending on how to utilize one or more redundant degrees offreedom mobility.

One example method may be to use the two degrees of freedomtranslational mobility in controlling a position of the locomotiondevice 2 and the remaining one degree of freedom rotational mobility tocontrol an orientation of the locomotion device 2. FIG. 3A illustratesthe locomotion device 2 configured to be driven by a differential drivemechanism including two independently speed-controllable wheels whoseaxes are collinear, which allows the locomotion device 2 to move basedon two degrees of freedom mobility. In some examples, the locomotiondevice 2 may include a legged-drive device that includes at least twolegs (e.g., robotic legs) that are configured to be independentlycontrolled.

In some implementations, an accompanying control may include twodifferent accompanying control methods. The first method is to controlcoordinates of a fixed point of a moving object (e.g., the humanoperator 1) with respect to a coordinates system fixed to the locomotiondevice 2. By contrast, the second method is to control coordinates of afixed point of the locomotion device 2 with respect to a coordinatesystem fixed to the moving object. The two control methods, therefore,approach the accompanying control from opposite perspectives. In someimplementations, the two methods may be interchangeably used dependingon operational situations to maximize advantages of both of the methods.

The first method controls coordinates of a fixed point of the movingobject 1 with respect to a coordinates system fixed to the locomotiondevice 2. In some implementations, the first method may use a polarcoordinates system or a Cartesian coordinates system.

One or more accompanying control techniques will be described using apolar coordinates system.

In FIG. 3B, a Cartesian coordinate system X-Y defined as a fixedcoordinate system on the locomotion device 2 may translate and rotaterelative to the ground plane 7. For example, an origin A may be locatedon a common axis of the driving wheels 5 and spaced apart from a leftwheel and a right wheel by distances b and c, respectively. X and Y axesmay be set up as shown in FIG. 3B. The point O may be located on the Xaxis and spaced apart from the origin A by a distance h.

An absolute velocity of the moving object 1 (i.e., the velocity of thepoint Q relative to the ground) may be projected on the ground plane 7and decomposed into U_(r) and U_(θ)using a polar coordinate system whoseorigin is located at the point O with two unit vectors ê_(r) andê_(θ)defined as shown in FIG. 3B. An absolute velocity of the point O(i.e., the velocity of the point O relative to the ground) may bedecomposed similarly into V_(r) and V_(θ). As human moves on the groundplane 7 with a velocity defined by U_(r) and U_(θ), a controller foraccompanying control regulates both the length L of the string 3 and theorientation angle θ of the string 3 at preset values by controlling thevelocity of the point O, which is governed by the angular speeds ω_(L)and ω_(R) of the left and right driving wheels 5, respectively. In thisexample shown in FIG. 3B, a positive direction of rotation of bothwheels 5 is assumed to be aligned with positive Y axis in view of theright-hand rule. Both wheels 5 are assumed to have a radius a.

An accompanying control method using polar coordinates is describedreferring to FIGS. 3A and 3B. A position of the point P with respect tothe point O is defined by using polar coordinates (r, θ). In order tocontrol the length L of the string 3, the motion of the point O isgenerated along the radial direction, i.e., along the straight lineconnecting the two points θ and P. In other words, the length L of thestring is controlled by controlling its projected length r as indicatedby “r control” in FIG. 3B. To increase the length L, the motion of thepoint O is generated to move away from the point P, while to decreasethe length L, the motion of the point O is generated to move toward thepoint P.

In controlling the orientation angle θ of the string 3, the motion ofthe point O is generated in a transversal direction, e.g., a directionperpendicular to the straight line connecting the two points θ and P, asindicated by “θ control” in FIG. 3B. To increase the angle θ, the motionof the point O is generated such that the point O moves along a circleof radius r with center at P in counterclockwise direction, while todecrease the angle θ, the motion of the point O is generated such thatthe point O moves along a circle of radius r with center at P inclockwise direction.

A kinematic relationship that relates a time rate of changes of twocomponents r and θ of polar coordinates of the point P relative to thepoint O to the velocity of the moving object (i.e., U_(r) and U_(θ)) andthe velocity of the point O (i.e., V_(r) and V_(θ)) may be readilyexpressed as the following equations (“Eqn.”).

$\begin{matrix}{\frac{dr}{dt} = {U_{r} - V_{r}}} & {{{Eqn}.}\mspace{14mu} < 1 >} \\{\frac{d\; \theta}{dt} = {\frac{U_{\theta} - V_{\theta}}{r} - \Omega}} & {{{Eqn}.}\mspace{14mu} < 2 >}\end{matrix}$

Ω denotes the angular speed of the locomotion device 2 relative to theground and may be expressed as the following equation.

$\begin{matrix}{\Omega = \frac{{V_{\theta}\mspace{14mu} \cos \mspace{14mu} \theta} + {V_{r}\mspace{14mu} \sin \mspace{14mu} \theta}}{h}} & {{{Eqn}.}\mspace{14mu} < 3 >}\end{matrix}$

Using Eqn. <3>, Eqn. <2> may be rewritten as

$\begin{matrix}{\frac{d\; \theta}{dt} = {{\frac{1}{r}U_{\theta}} - {\frac{\sin \mspace{14mu} \theta}{h}V_{r}} - {( {\frac{1}{r} + \frac{\cos \mspace{14mu} \theta}{h}} )V_{\theta}}}} & {{{Eqn}.}\mspace{14mu} < 4 >}\end{matrix}$

In some implementations, a controller uses Eqns. <1> and <4> as akinematic model of the system. Suppose the desired length L*, thedesired orientation θ*, and the desired elevation angle α* of the stringare set by the human operator 1. Then, r* is set by L* cos α*. FIG. 4shows a block diagram of an example of an accompanying controller. Theradial error e_(r)=r*−r and the angle error e_(θ)=θ*−θ is regulated bytwo PI (proportional and integral) controllers which produce the outputsC_(r) and C_(θ), respectively, as

C _(r) =K _(pr) e _(r) +K _(ir) ∫e _(r) dt   Eqn. <5>

C _(θ) =K _(pθ) e _(θ) +K _(iθ) ∫e _(θ) dt   Eqn. <6>

where K_(pr), K_(ir), K_(pθ), and K_(iθ) are proportional and integralgains for the controllers. The outputs of the PI controller are combinedto yield the required velocity components V_(r) and V_(θ) of the point Oas

$\begin{matrix}{V_{r} = {- C_{r}}} & {{{Eqn}.}\mspace{14mu} < 7 >} \\{V_{\theta} = {{{- \frac{hr}{h + {r\mspace{14mu} \cos \mspace{14mu} \theta}}}C_{\theta}} + {\frac{r\mspace{14mu} \sin \mspace{14mu} \theta}{h + {r\mspace{14mu} \cos \mspace{14mu} \theta}}{C_{r}.}}}} & {{{Eqn}.}\mspace{14mu} < 8 >}\end{matrix}$

In some cases, even though C_(r) and C_(θ) are designed using constantgains, V_(θ) may become a nonlinear function of r and θ, implying V_(θ)being dependent on a current location of the point P. In some examples,the velocity V_(r) and V_(θ) of the point O are designed so that thesystems described by Eqns. <1> and <4> behave like two decoupled stablesecond order systems under the input velocities U_(r) and U_(θ) of thepoint P, and that denominator of Eqn. <8> becomes zero when r cos θ=h,i.e., when the point P is on the axis of differential drive wheels 5,which implies V_(θ) becomes infinite and the angle error e_(θ)=θ₀−θ maynot be controlled at this singular configuration due to the intrinsicmotion constraint imposed by the differential drive system.

In FIG. 4, the “measurement and filtering” block measures signals andthen passes the signals through a signal filter in order to reduce oreliminate possible noise caused by fluctuation of the string 3 duringoperation.

Now from kinematic relationships of differential drive mechanism, therequired angular speeds ω_(L)* and ω_(R)* of left and right wheel can beobtained respectively as

$\begin{matrix}{\omega_{L}^{*} = {{( {{\frac{1}{a}\cos \mspace{14mu} \theta} - {\frac{b}{ha}\sin \mspace{14mu} \theta}} )V_{r}} - {( {{\frac{1}{a}\sin \mspace{14mu} \theta} + {\frac{b}{ha}\cos \mspace{14mu} \theta}} )V_{\theta}}}} & {{{Eqn}.}\mspace{14mu} < 9 >} \\{\omega_{R}^{*} = {{( {{\frac{1}{a}\cos \mspace{14mu} \theta} + {\frac{c}{ha}\sin \mspace{14mu} \theta}} )V_{r}} - {( {{\frac{1}{a}\sin \mspace{14mu} \theta} - {\frac{c}{ha}\cos \mspace{14mu} \theta}} )V_{\theta}}}} & {{{Eqn}.}\mspace{14mu} < 10 >}\end{matrix}$

Note that in obtaining Eqns. <9> and <10> it is assumed that the twodriving wheels 5 do not slip on the ground plane 7. The angular speedsω_(L)* and ω_(R)* obtained by using Eqns. <5>-<10> are used as referencespeeds for the speed controller for left and right wheel, respectively.FIGS. 4 and 5 together depict overall structure of the example humanaccompanying controller realized in terms of polar coordinates.

One or more accompanying control techniques will be described usingCartesian coordinates.

FIG. 6A shows an example system including a locomotion device 2including one or more wheels 5 and 6, a retractable string mechanism 4mounted on an upper surface of the locomotion device 2, a string 3connected to the retractable string mechanism 4, and a string dispensingtube 8 disposed at the retractable string mechanism 4 and configured todispense and receive the string 3. FIG. 6B shows a Cartesian coordinatesystem X-Y attached to the locomotion device 2 at the point O. TheCartesian coordinate system X-Y may be a translating and rotatingcoordinate system. Positive X and Y axes are assumed to be pointingforward and to the left of the locomotion device 2, respectively. Thecoordinates of the point P relative to X-Y frame are given by (x, y) anda time rate of change of each component may be expressed as

$\begin{matrix}{\frac{dx}{dt} = {U_{x} - V_{x} + {\Omega \; y}}} & {{{Eqn}.}\mspace{14mu} < 11 >} \\{\frac{dy}{dt} = {U_{y} - V_{y} - {\Omega \; x}}} & {{{Eqn}.}\mspace{14mu} < 12 >}\end{matrix}$

where Ω denotes the angular speed of the locomotion device relative tothe ground and may be expressed as

$\begin{matrix}{\Omega = \frac{V_{y}}{h}} & {{{Eqn}.}\mspace{14mu} < 13 >}\end{matrix}$

Substituting Eqn. <13> into Eqns. <11> and <12>, the kinematic model ofthe system may be obtained as

$\begin{matrix}{\frac{dx}{dt} = {U_{x} - V_{x} + {\frac{y}{h}V_{y}}}} & {{{Eqn}.}\mspace{14mu} < 14 >} \\{\frac{dy}{dt} = {U_{y} - {( \frac{h + x}{h} )V_{y}}}} & {{{Eqn}.}\mspace{14mu} < 15 >}\end{matrix}$

Suppose a desired location of the point P relative to the point O is setby using Cartesian coordinates (x*, y*). Then a PI controller thatregulates the relative location of the point P relative to the point Oat (x*, y*) may be employed as shown in FIG. 7. The errors e_(x)=x*−xand e_(y)=y*−y may be regulated by two PI (proportional and integral)controllers which produce the outputs C_(x) and C_(y), respectively, as

C _(x) =K _(px) e _(x) +K _(ix) ∫e _(x) d   Eqn. <16>

C _(y) =K _(py) e _(y) +K _(iy) ∫e _(y) dt   Eqn. <17>

where K_(px), K_(ix), K_(py), and K_(iy) are proportional and integralgains for the controllers. The outputs of the PI controller are combinedto yield the required velocity components V_(r) and V_(θ) of the point Oas

$\begin{matrix}{V_{y} = {{- \frac{h}{h + x}}C_{y}}} & {{{Eqn}.}\mspace{14mu} < 18 >} \\{V_{x} = {{- C_{x}} + {\frac{y}{h}V_{y}}}} & {{{Eqn}.}\mspace{14mu} < 19 >}\end{matrix}$

In some cases, even though C_(x) and C_(y) are designed using constantgains, V_(x) and V_(y) may turn out to be nonlinear functions of x andy, implying V_(x) and V_(y) being dependent on a current location of thepoint P. In some examples, the velocity V_(x) and V_(y) of the point Oare designed so that the system described by Eqns. <14> and <15> behaveslike two decoupled stable second order systems under the inputvelocities U_(r) and U_(θ) of the point P, and that when x=−h, i.e.,when the point P is on the axis of differential drive wheels 5, neitherthe x error e_(x)=x₀−x nor the y error e_(y)=y₀−y may be controlled atthis configuration due to the intrinsic motion constraint imposed bydifferential drive system. When x=−h, V_(y) may be set to zero, i.e., nocontrol is performed for the y error, and only the x error may becontrolled using V_(x)=−C_(x).

Now from the kinematic relationships of differential drive mechanism,the required angular speeds ω_(L)* and ω_(R)* of the left and rightwheels can be obtained respectively as

$\begin{matrix}{\omega_{L}^{*} = {{\frac{1}{a}V_{x}} - {\frac{b}{ah}V_{y}}}} & {{{Eqn}.}\mspace{14mu} < 20 >} \\{\omega_{R}^{*} = {{\frac{1}{a}V_{x}} + {\frac{c}{ah}V_{y}}}} & {{{Eqn}.}\mspace{14mu} < 21 >}\end{matrix}$

Note that in obtaining Eqns. <20> and <21> it is assumed that the twodriving wheels 5 do not slip on the ground plane 7. The angular speedsω_(L)* and ω_(R)* obtained by using Eqns. <16>-<21> are used asreference speeds for the speed controller for the left and right wheel,respectively. FIG. 7 depicts an overall structure of the example humanaccompanying controller realized in terms of Cartesian coordinates.

Hereinafter, a second method of accompanying control will be described.The second method controls coordinates of a fixed point of a locomotiondevice with respect to the coordinates system fixed to a moving object.The second method may be implemented using a polar coordinates systemand a Cartesian coordinates system.

One or more accompanying control techniques will be described usingpolar coordinates.

In FIG. 8, in addition to the Cartesian system XY fixed on thelocomotion device 2 with an origin at the point A, anther Cartesiancoordinate system X_(p)Y_(p) is defined on the human operator 1. TheCartesian coordinate system X_(p)Y_(p) may translate and rotate relativeto the ground. As shown in FIG. 8, X_(p) axis is aligned to point to aforward direction of the human operator 1 and corresponds to a directionof a human movement, and Y_(p) axis is set up to point to a left side ofthe human operator 1. Without loss of generality, the absolute velocity{right arrow over (U)} of the human operator 1 is aligned with X_(p)axis and the orientation of the X_(p) with respect to the XY system canbe evaluated by measuring the velocity {right arrow over (U)} withrespect to the XY system as

U _(x) =V _(x) +{dot over (r)} cos θ−r(Ω+{dot over (θ)})sin θ  Eqn. <22>

U _(y) =V _(y) +{dot over (r)} sin θ+r(Ω+{dot over (θ)})cos θ  Eqn. <23>

where r, {dot over (r)}, θ, and {dot over (θ)} are measured by usingpolar coordinates measurement system, and Ω, V_(x), and V_(y) may beobtained from the speeds of two driving wheels assuming no slip at thewheels as

$\begin{matrix}{\Omega = {\frac{a}{b + c}( {\omega_{R} - \omega_{L}} )}} & {{{Eqn}.}\mspace{14mu} < 24 >} \\{V_{x} = {\frac{a}{b + c}( {{b\; \omega_{R}} + {c\; \omega_{L}}} )}} & {{{Eqn}.}\mspace{14mu} < 25 >} \\{V_{y} = {h\; \Omega}} & {{{Eqn}.}\mspace{14mu} < 26 >}\end{matrix}$

The direction of X_(p) or the velocity {right arrow over (U)} of thehuman with respect to the XY system may be defined by an angle ϕ as

ϕ=atan 2(U _(y) ,U _(x))   Eqn. <27>

The angle ϕ given in Eqn. <27> defines a Cartesian coordinate systemX_(p)Y_(p) at the point P. Now suppose the polar coordinates(ρ_(o)*,ψ_(o)*) of the point O of the locomotion device is set to beregulated with respect to a polar coordinate system with two unitvectors ê_(ρ) and ê_(ψ) defined relative to X_(p)Y_(p) system and thecurrent polar coordinates of the same point are measured as

ρ_(o)=r   Eqn. <28>

ψ_(o)=π−ϕ+θ  Eqn. <29>

Then the errors e_(ρ)=ρ_(o)*−p_(o) and e_(ψ)=ψ_(o)*−ψ_(o) may beregulated by two PI (proportional and integral) controllers whichproduce the outputs C_(ρ) and C_(ψ), respectively, as

C _(ρ) =K _(pρ) e _(ρ) +K _(iρ) ∫e _(ρ) dt   Eqn. <30>

C _(ψ) =K _(pψ) e _(ψ) +K _(iψ) ∫e _(ψ) dt   Eqn. <31>

In FIG. 8, C_(ρ) and C_(ψ) are visualized as “ρ control” and “ψcontrol”, respectively. Two outputs C_(ρ) and C_(θ) can be transformedinto the required velocity of the point O as

V_(ρ)=C_(ρ)  Eqn. <32>

V_(ψ)=ρ_(o)C_(ψ)  Eqn. <33>

Now from the kinematic relationships of differential drive mechanism,the required angular speeds ω_(L)* and ω_(R)* of left and right wheelcan be obtained respectively as

$\begin{matrix}{\omega_{L}^{*} = {{{- ( {{\frac{1}{a}\cos \mspace{14mu} \theta} - {\frac{b}{ha}\sin \mspace{14mu} \theta}} )}V_{\rho}} + {( {{\frac{1}{a}\sin \mspace{14mu} \theta} + {\frac{b}{ha}\cos \mspace{14mu} \theta}} )V_{\psi}}}} & {{{Eqn}.}\mspace{14mu} < 34 >} \\{\omega_{R}^{*} = {{{- ( {{\frac{1}{a}\cos \mspace{14mu} \theta} + {\frac{c}{ha}\sin \mspace{14mu} \theta}} )}V_{\rho}} + {( {{\frac{1}{a}\sin \mspace{14mu} \theta} - {\frac{c}{ha}\cos \mspace{14mu} \theta}} )V_{\psi}}}} & {{{Eqn}.}\mspace{14mu} < 35 >}\end{matrix}$

FIG. 9 shows an overall structure of an example controller using polarcoordinates described above.

One or more accompanying control techniques will be described usingCartesian coordinates.

In FIG. 10, in addition to the Cartesian system XY fixed on thelocomotion device 2 with its origin at the point A, anther Cartesiancoordinate system X_(p)Y_(p) is defined on the human operator 1. TheCartesian coordinate system X_(p)Y_(p) may translate and rotate relativeto the ground. As shown in FIG. 10, X_(p) axis is aligned to point aforward direction of the human and corresponds to the direction of humanmovement, and Y_(p) axis is set up to point the left side of the human.The absolute velocity {right arrow over (U)} of the human operator 1 maybe aligned with X_(p) axis, and the orientation of the X_(p) withrespect to the XY system may be evaluated by measuring the velocity{right arrow over (U)} with respect to the XY system as

U _(x) =V _(x) +{dot over (r)} cos θ−r(Ω+{dot over (θ)})sin θ  Eqn. <36>

U _(y) =V _(y) +{dot over (r)} sin θ+r(Ω+{dot over (θ)})cos θ  Eqn. <37>

where r, {dot over (r)}, θ, and {dot over (θ)} are measured by usingpolar coordinates measurement system, and Ω, V_(x), and V_(y) may beobtained from the speeds of two driving wheels assuming no slip at thewheels as

$\begin{matrix}{\Omega = {\frac{a}{b + c}( {\omega_{R} - \omega_{L}} )}} & {{{Eqn}.}\mspace{14mu} < 38 >} \\{V_{x} = {\frac{a}{b + c}( {{b\; \omega_{R}} + {c\; \omega_{L}}} )}} & {{{Eqn}.}\mspace{14mu} < 39 >} \\{V_{y} = {h\; \Omega}} & {{{Eqn}.}\mspace{14mu} < 40 >}\end{matrix}$

The direction of X_(p) or the velocity {right arrow over (U)} of thehuman with respect to the XY system may be defined by an angle ϕ as

ϕ=atan 2(U _(y) , U _(x))   Eqn. <41>

Now suppose the Cartesian coordinates (x_(o)*, y_(o)*) of the point O ofthe locomotion device is defined to be regulated relative to theCartesian coordinate system X_(p)Y_(p) and the current coordinates ofthe same point is measured as

x _(o) =−r cos(ϕ−θ)   Eqn. <42>

y _(o) =+r sin(ϕ−θ)   Eqn. <43>

Then the errors e_(x)=x_(o)*−x_(o) and e_(y)=y_(o)*−y_(o) may beregulated by two PI (proportional and integral) controllers whichproduce the outputs C_(x) and C_(y), respectively, as

C _(x) =K _(px) e _(x) +K _(ix) ∫e _(x) dt   Eqn. <44>

C _(y) =K _(py) e _(y) +K _(iy) ∫e _(y) dt   Eqn. <45>

In FIG. 8, C_(x) and C_(y) are visualized as “x control” and “ycontrol”, respectively. Two outputs C_(x) and C_(y) can be transformedinto the required velocity of the point O as

V _(x) =C _(x) cos ϕ−C _(y) sin ϕ  Eqn. <46>

V _(y) =C _(x) sin ϕ+C _(y) cos ϕ  Eqn. <47>

Now from the kinematic relationships of differential drive mechanism,the required angular speeds ω_(L)* and ω_(R)* of left and right wheelcan be obtained respectively as

$\begin{matrix}{\omega_{L}^{*} = {{\frac{1}{a}V_{x}} - {\frac{b}{ah}V_{y}}}} & {{{Eqn}.}\mspace{14mu} < 48 >} \\{\omega_{R}^{*} = {{\frac{1}{a}V_{x}} + {\frac{c}{ah}V_{y}}}} & {{{Eqn}.}\mspace{14mu} < 49 >}\end{matrix}$

FIG. 11 shows an overall structure of an example controller usingCartesian coordinates describe above.

Hereinafter, a locomotion device including a tricycle drive system willbe described.

FIGS. 12A and 13B show an example of a locomotion system including atricycle drive, where the orientation ψ of steered wheel 51 determines alocation of the instantaneous center (IC) point of the locomotion device2 on the common axis of rear wheels 5. In some implementations, thelocomotion device 2 includes two steering wheels like a car and may beequivalently modeled as a tricycle drive system because the two steeringwheels are steered in a way satisfying the Ackerman steering geometry.

In some implementations, a tricycle drive system is controlled bydriving the steered wheel 51, for example, by making the steered wheeldrivable at the same time by employing another motor. In this example,it is assumed without loss of generality that the wheel 51 is steered bya motor and the right wheel is driven by another motor to provide thrustto the locomotion device.

In some implementations, an accompanying controller for the tricycledrive system is obtained as follows. The outputs V_(x) and V_(y) of twoPI controllers define a desired location of IC* point which is the pointwhere the common axis of rear wheels intersects with the lineperpendicular to the desired velocity vector V of the point O, anddetermine the desired angular velocity Ω* of the locomotion devicerelative to the ground with which it should turn about IC* point. Thedesired location of IC* point may be determined by s as

$\begin{matrix}{s = {{h\frac{V_{x}}{V_{y}}} - d}} & {{{Eqn}.}\mspace{14mu} < 50 >}\end{matrix}$

and the desired angular velocity Ω* of the locomotion device may beobtained as

$\begin{matrix}{\Omega^{*} = {\frac{V_{y}}{h}.}} & {{{Eqn}.}\mspace{14mu} < 51 >}\end{matrix}$

Using these results, the desired steering angle ψ* and the desiredangular speed ω_(R)* of driving wheel may be obtained respectively as

$\begin{matrix}{\psi^{*} = {\tan^{- 1}( \frac{h + e}{s + b} )}} & {{{Eqn}.}\mspace{14mu} < 52 >} \\{\omega_{R}^{*} = {\frac{s + b + c}{a}{\Omega^{*}.}}} & {{{Eqn}.}\mspace{14mu} < 53 >}\end{matrix}$

When V_(y)=0, Eqns. <50> and <51> yield s=∞ and Ω*=0, respectively,which indicates that the locomotion device 2 is in straight motion or intranslational motion. FIG. 13 illustrates the structure of thecontroller implemented using the equations above.

A human accompanying mode as described so far may be a primary mode ofoperation of the controller, in which the coordinates of a point on amoving object such as a human operator 1 with respect to the locomotiondevice 2 are controlled either in polar coordinates or in Cartesiancoordinates. A secondary mode of operation of the locomotion device 2may be a human following mode, in which the locomotion device 2 iscontrolled in a relaxed fashion. For instance, during the humanfollowing operation, only the distance between the human operator 1 andthe locomotion device 2 is controlled. In other words, only the lengthcontrol is executed without the angle control as shown in FIGS. 14A and14B in contrast to the system shown in FIGS. 3A and 3B.

FIG. 15 illustrates an example of a human following controller.

In some implementations, equivalent controllers are provided accordingto the location of a sensor for polar coordinates measurement.

As illustrated in FIGS. 4, 5, 7, 9, 11, 13, and 15, the controllerstructures include blocks whose gains are functions of geometricparameters b, c, and h, which define the point O, the location of theretractable string mechanism, i.e., the location of a sensor for polarcoordinates measurement, relative to the locomotion device 2. Amongthese three parameters, the parameter h is placed in the denominators ofthe gains, and, therefore, when h=0, i.e., the point O is located on theline defined by collinear axes of two rear wheels. In this case, thecontroller structures shown in the FIGS. 4, 5, 7, 9, 11, 13 and 15 maynot operate as the gain values may not be determined due to division byzero. However, the general applicability of the proposed controllerstructures regardless of the location of the sensor may be explained asfollows.

FIG. 16 shows an example of a differential drive locomotion system. Inthis example, a retractable string mechanism is located at the point Odefined on the line of collinear axes of two driving wheels 5. Further,an imaginary point O′ may be set up at a point off the line of thecommon axes of two wheels as shown in FIG. 12B, and the point O′ can beused as a new control point of the device. In other words, thelocomotion system is a non-collocated system where the location of thesensor and the location of the control point are different. Nonetheless,the measurements r and θ obtained from the retractable string mechanismat the point O may easily be transformed into the measurements r′ and θ′that would have been obtained if the retractable string mechanism werelocated at the point O′.

r′={r ² sin² θ+(r cos θ−h)²}^(1/2)   Eqn. <54>

θ′=atan 2(r sin θ, r cos θ−h)   Eqn. <55>

Therefore, replacing two variables r and θ by the new r′ and θ′ obtainedfrom Eqns. <54> and <55> results in a controller that is equivalent tothe ones shown in the FIGS. 4, 5, 7, 9, 11, 13 and 15. This demonstratesthat the basic idea involved in designing a human following controllerpresented in the present disclosure can be applied regardless of thesensor location.

Hereinafter, one or more systems and methods to measure polarcoordinates of human relative to the locomotion device will bedescribed.

FIG. 17 illustrates an example of a retractable string mechanism. Theretractable string mechanism 4 includes a body disposed at thelocomotion device 2 (see FIG. 1), a spiral torsion spring 41 having anend connected to the string 3. The spiral torsion spring 41 allows thestring 3 to be retracted by applying a tension. The retractable stringmechanism 4 may include other types of tension devices configured toprovide tension to the string 3 to thereby allow the string 3 to beretracted to the body. The retractable string mechanism 4 furtherincludes a pulley 43. In order to prevent the string 3 from slipping onthe pulley 43, the string 3 is wound several turns around the pulley 43before it passes through the string dispensing tube 8.

The retractable string mechanism 4 further includes a sensor 44configured to measure a length L of a portion of the string 3 dispensedfrom the retractable string mechanism 4. The sensor 44 measures thelength L by detecting a rotational motion of the pulley 43 about a shaft45 relative to the retractable string mechanism 4 where the radius ofthe pulley 43 is assumed to be known. The retractable string mechanism 4further includes a bearing 47 that mounts the string dispensing tube 8and that allows the string dispensing tube 8 to rotate relative to theretractable string mechanism 4. The string dispensing tube 8 isconfigured to rotate based on the orientation of the human operator 1relative to the retractable string mechanism 4.

The retractable string mechanism 4 further includes a tube bendingmechanism 81, an angle sensor 82, and an angle sensor 42. The anglesensor 82 is installed at the tube bending mechanism 81 and configuredto measure the elevation angle α of the string 3. The angle sensor 42 isdisposed inside the retractable string mechanism 4 and configured tomeasure the orientation angle θ of the human operator 1 relative to theretractable string mechanism 4 based on detecting a rotational motion ofthe string dispensing tube 8 relative to the retractable stringmechanism 4.

In some implementations, r can be measured indirectly by measuring L andα, i.e., r=L cos α. In some cases, the elevation angle α may be assumedto be constant or zero, in which a measuring process of the elevationangle may be omitted.

FIG. 18 shows another example of a retractable string mechanism. Incontrast to the example in FIG. 17, which includes a spiral torsionspring, the retractable string mechanism 4 in FIG. 18 includes anelectrical motor 48 configured to actively control a tension of thestring 3. In some examples, the retractable string mechanism 4 mayfurther include a reel 433 connected to a shaft 49 of the electric motor48 and configured to dispense the string 3. The electric motor 48 isconfigured to apply torque to the shaft 49 to generate controllabletension in the string 3. The retractable string mechanism 4 may furtherinclude a rotary encoder 444 configured to detect a rotational motion ofthe reel 433 and determine a length L of a portion of the string 3dispensed from the string dispensing tube 8, where the radius of thereel 433 is assumed to be known.

FIG. 19 shows another example of measuring an orientation of the string3 relative to the retractable string mechanism 4 utilizing a forcetransducer 422. In this example, the string dispensing tube 8 is fixedto the retractable string mechanism 4, and the force transducer 422 isinstalled at the lower part of the string dispensing tube 8. The forcetransducer 422 may be configured to detect a bending moment M=hT cos αcreated by the tension T in the string 3.

In some implementations, the force transducer 422 includes two straingauges 4221 that are disposed on a surface of the string dispensing tube8 and that are spaced apart from each other by 90 degrees about a centerof the string dispensing tube 8. The two strain gauges 4221 detectsignals corresponding to a bending moment M created by the stringtension T, and the signals may be combined to determine informationregarding magnitude and orientation angle θ of the resulting moment M.Based on the information regarding the magnitude and orientation angle θof the resulting moment M, information regarding a magnitude andorientation of the tension T may be determined. In this example, theretractable string mechanism 4 omits a bearing that enables rotation ofthe string dispensing tube 8 with respect to the retractable stringmechanism and a sensor that detects rotational motion of the stringdispensing tube 8 relative to the retractable string mechanism 4.

FIG. 20 depicts another example of a retractable string mechanism. Inthis example, a string 33 is made of an elastic material or connected toan elastic element 333 such as a coil spring. A total length L of thestring 33 is measured by adding a natural length of the string 33 (i.e.,a length when the tension T is negligible or less than a thresholdvalue) and an elongated length of the string 33 due to the tension T.The retractable string mechanism 4 includes two force transducers 422and 423 that enable estimation of the elongated length of the string 33due to the tension T.

For example, when the tension T is applied to the string 33, bendingmoments applied to the force transducers 422 and 423 are measuredrespectively as M₁=fT cos α and M₂=gT sin α, where f denotes a verticaldistance from the force transducer 422 to an end of the string 33, and gdenotes a horizontal distance between the force transducer 423 and theend of the string 33. From these two measurements, the tension T may befound as

$T = \frac{M_{1}}{f\mspace{14mu} \cos \mspace{14mu} \alpha}$${{where}\mspace{14mu} \alpha} = {\tan^{- 1}\frac{{gM}_{2}}{{fM}_{1}}}$

The elongated length may be estimated based on a relationship of thestring 33 between the tension and elongation. For example, the elongatedlength of the string 33 may be proportional to the tension T.

FIG. 21 shows an example of a wireless polar coordinate measurementsystem. In some implementations, the wireless measurement system 445uses a laser distance measurement system like LiDAR (Light Detection andRanging) systems or a rotatable camera system configured to providedistance (or depth) information. In some examples, the wireless polarcoordinate measurement system may include a stereo camera system or aKinect sensor. In this example shown in FIG. 21, the point Q representsa feature point on the moving object 1 (e.g., a human) detected by thewireless polar coordinate measurement system.

The wireless polar coordinate measurement system may be configured tomeasure a distance r as a function of an angle θ, and determine theparameters r and θ among a set of distance data corresponding tomultiple positions of the moving object 1. Various methods may beapplied to extract the feature point Q from the set of distance data. Asone example, the wireless polar coordinate measurement system determinesa point that corresponds the shortest distance among the set of distancedata as the feature point Q. This is because it is safe to maintain aproper distance between the locomotion device 2 and the moving object 1.

FIG. 22 illustrates an example of a human accompanying locomotion deviceunder operation. In this example, the position the locomotion device 2relative to the human operator 1 is controlled to be unchanged. In someexamples, the position of the locomotion device 2 is controlled to bewithin a range from the human operator 1.

FIG. 23 illustrates examples of relative positions a locomotion devicefrom a human operator. In this example, the human operator 1 ispositioned at an arbitrary location relative to the locomotion device 2and may change the position during operation as desired. Thisflexibility provides a great practicality to a human operator during theaccompanying operation.

FIGS. 24A and 24B illustrate examples of human accompanying operations.In these examples, a human operator 1 is accompanied by a multiplenumber of locomotion devices 2 that are interconnected to one anotherother in series, in parallel, or in any combination thereof. In someimplementations, the human operator 1 is accompanied primarily by one ormore primary locomotion devices directly connected to human operator 1.Those primary locomotion devices serve as moving objects for othersecondary locomotion device(s) connected to the primary locomotiondevices, and the successive accompanying operations may be continueduntil every locomotive device becomes a part of a hierarchicalconnection including the primary locomotion devices and the secondarylocomotion devices.

In some implementations, the system including multiple locomotiondevices 2 may be operated by the human operator 1 such that an overallconfiguration of the whole system (e.g., relative positions of thelocomotion devices 2 with respect to the human operator 1) is maintainedby controlling a relative position between the two neighboringlocomotion devices in the hierarchical connection of the multiplelocomotion device 2.

FIG. 25 illustrates an example of programmable boundaries that definereference geometric regions of control. For instance, in the example inFIG. 25, the boundaries illustrated in broken curves are defined usingtwo oval shapes, but can be defined in arbitrary shapes in otherexamples. The boundaries may be used in controlling behaviors of thelocomotion device 2 depending on which region the human is located in.

For example, when the human operator is located inside the regionbetween the two oval boundaries, the locomotion device 2 may becontrolled to perform a normal accompanying operation. When the humanoperator 1 is located inside the smaller oval boundary, the locomotiondevice 2 may halt the accompanying operation. When the human operator 1is located outside of the larger oval boundary, the locomotion device 2is programmed to generate a warning signal to notify the human operator1 that the locomotion device 2 is likely outside of a control range ofthe accompanying operation.

FIG. 26 illustrates examples of graphs of the length L of the string 3in FIG. 2 (or, equivalently, the variable r) and/or the orientation θ ofthe string plotted as a function of time. That is, the upper and lowergraphs in FIG. 26 may represent example fluctuation patterns of thelength L of the string. In some examples, the upper and lower graphs inFIG. 26 may represent example fluctuation patterns of the orientation θof the string. In some cases, one of the upper and lower graphsrepresents an example fluctuation pattern of the length L of the string,and the other of the upper and lower graphs represents an examplefluctuation pattern of the orientation θ of the string. The fluctuationpatterns shown in the graphs may be created intentionally by the humanoperator 1 and can be recognized as gestures (or signals) that areacknowledged by the locomotion device 2. For example, the locomotiondevice 2 may be configured to, based on the recognized gestures orsignals, perform predetermined tasks such as halting, continuing, orchanging mode of operation of the locomotion device 2 in an accompanyingoperation.

FIGS. 27A-27G depict various application examples of accompanyingcontrol devices according to the present disclosure. As shown in FIGS.27A-27G, the present disclosure may be implemented in variousapplications such as shopping carts, strollers, golf carts, travelluggage, toy cars, and jogging guiders. The accompanying control of oneor more locomotion devices may be implemented by controlling at leasttwo degrees of freedom of motion on the ground. The accompanying controlmay control operation of a locomotion device or a group of locomotiondevices even in a congested environment.

The described systems, methods, and techniques may be implemented indigital electronic circuitry, computer hardware, firmware, software, orin combinations of these elements. Apparatus implementing thesetechniques may include appropriate input and output devices, a computerprocessor, and a computer program product tangibly embodied in amachine-readable storage device for execution by a programmableprocessor. A process implementing these techniques may be performed by aprogrammable processor executing a program of instructions to performdesired functions by operating on input data and generating appropriateoutput. The techniques may be implemented in one or more computerprograms that are executable on a programmable system including at leastone programmable processor coupled to receive data and instructionsfrom, and to transmit data and instructions to, a data storage system,at least one input device, and at least one output device. Each computerprogram may be implemented in a high-level procedural or object-orientedprogramming language, or in assembly or machine language if desired; andin any case, the language may be a compiled or interpreted language.Suitable processors include, by way of example, both general and specialpurpose microprocessors. Generally, a processor will receiveinstructions and data from a non-transitory memory such as a read-onlymemory and/or a random access memory. Storage devices suitable fortangibly embodying computer program instructions and data include allforms of non-volatile memory, including by way of example semiconductormemory devices, such as Erasable Programmable Read-Only Memory (EPROM),Electrically Erasable Programmable Read-Only Memory (EEPROM), and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and Compact Disc Read-Only Memory(CD-ROM). Any of the foregoing may be supplemented by, or incorporatedin, specially designed application-specific integrated circuits (ASICs).

It will be understood that various modifications may be made. Forexample, other useful implementations could be achieved if steps of thedisclosed techniques were performed in a different order and/or ifcomponents in the disclosed systems were combined in a different mannerand/or replaced or supplemented by other components. Accordingly, otherimplementations are within the scope of the disclosure.

1. A system configured to accompany a moving object, the systemcomprising: at least one locomotion device configured to move on aground surface and to be controlled based on at least two degrees offreedom of motion on the ground surface; a coordinates measurement unitconfigured to measure coordinates of a point on the moving object withrespect to the locomotion device; and a controller configured to, basedon the coordinates of the point on the moving object with respect to thelocomotion device, control a motion of the locomotion device to maintaina position of the point on the moving object within a preset range withrespect to the locomotion device, wherein the coordinates of the pointon the moving object with respect to the locomotion device is determinedbased on coordinates of any one point on the moving object measured withrespect to a reference coordinate system fixed to the locomotion device.2. The system according to claim 1, wherein the locomotion devicecomprises: a power source configured to supply power that enables themotion of the locomotion device; and a driving device configured to movethe locomotion device based on the power supplied from the power source.3. The system according to claim 1, wherein the coordinates of themoving object comprise: a distance component that represents a distancebetween a first point of the moving object projected onto the groundsurface and a second point of the locomotion device projected onto theground surface; and an angle component that represents an angle definedby an extension line from the first point to the second point on theground surface with respect to a reference line passing the second pointon the ground surface, and wherein the controller is configured tocontrol the motion of the locomotion device to maintain at least one ofthe distance component or the angle component within a range from presetvalues.
 4. The system according to claim 1, wherein the locomotiondevice comprises one of: an omnidirectional-drive device configured todrive the locomotion device based on three degrees of freedom of motionon the ground surface; a differential-drive device comprising two wheelsconfigured to rotate about rotation axes that are collinear and that areconfigured to be independently controlled; a tricycle-drive devicecomprising at least one steering wheel configured to control a traveldirection of the locomotion device and at least one driving wheelconfigured to move the locomotion device; or a legged-drive devicecomprising at least two legs that are configured to be independentlycontrolled.
 5. The system according to claim 1, further comprising: astring dispensing tube that is coupled to the coordinates measurementunit and that is configured to accommodate and dispense a stringconfigured to connect the locomotion device to the moving object.
 6. Thesystem according to claim 1, wherein the coordinates measurement unitcomprises a retractable string mechanism comprising: a body disposed atthe locomotion device; a string configured to be dispensed from andretracted into the body; a first rotary sensor configured to measure alength of a dispensed portion of the string; a second rotary sensorconfigured to measure an orientation of the dispensed portion of thestring with respect to the locomotion device; and a tension deviceconfigured to provide a tension to the string to thereby allow thestring to be retracted into the body.
 7. The system according to claim6, wherein the string has a predetermined length.
 8. The systemaccording to claim 6, wherein the tension device comprises a spiraltorsion spring connected to the string.
 9. The system according to claim6, wherein the tension device comprises an electric motor connected tothe string and configured to control the tension in the string.
 10. Thesystem according to claim 6, wherein the controller is furtherconfigured to: obtain sequential data including at least one of a lengthor an orientation of the dispensed portion of the string as a functionof time; recognize predefined signal patterns or gestures of the movingobject from the sequential data; and perform tasks corresponding to therecognized signal patterns or gestures.
 11. The system according toclaim 1, wherein the coordinates measurement unit comprises a laserdistance measurement system configured to output light and receivereturned light, and wherein the laser distance measurement system isconfigured to: generate a set of range data including a plurality ofcoordinates corresponding to a plurality of points of the moving objectrelative to the locomotion device; and output, among the set of rangedata, one of the plurality of coordinates corresponding to at least onepoint of the moving object relative to the locomotion device.
 12. Thesystem according to claim 1, wherein the coordinates measurement unitcomprises a camera system configured to capture images, and wherein thecamera system is configured to: based on the images, generate a set ofrange data including a plurality of coordinates corresponding to aplurality of points of the moving object relative to the locomotiondevice; and output, from the set of range data, one of the plurality ofcoordinates corresponding to at least one point of the moving objectrelative to the locomotion device.
 13. The system according to claim 1,wherein the controller is further configured to: based on polarcoordinates of a point of the moving object projected onto the groundsurface, control the motion of the locomotion device to maintain thepolar coordinates of the point of the moving object relative to thelocomotion device within a range from a preset value.
 14. The systemaccording to claim 1, wherein the controller is further configured to:obtain Cartesian coordinates of a point of the moving object projectedonto the ground surface based on a polar-to-Cartesian transformation ofpolar coordinates of the point of the moving object projected onto theground surface; and based on the Cartesian coordinates of the point ofthe moving object projected onto the ground surface, control the motionof the locomotion device to maintain the Cartesian coordinates of thepoint of the moving object relative to the locomotion device within arange from a preset value, and wherein the Cartesian coordinatescomprise at least two distance components defined along two axes thatare orthogonal to each other.
 15. The system according to claim 1,wherein the coordinates measurement unit comprises a retractable stringmechanism comprising: a body disposed at the locomotion device; a stringconfigured to be dispensed from and retracted into the body; a rotarysensor configured to measure a length of a dispensed portion of thestring; a force sensor configured to measure each of a tension in thestring and an orientation of the dispensed portion of the string withrespect to the locomotion device; and a tension device configured toprovide the tension to the string to thereby allow the string to beretracted into the body.
 16. The system according to claim 15, whereinthe string has a predetermined length.
 17. The system according to claim1, wherein the coordinates measurement unit comprises a retractablestring mechanism comprising: a string configured to be elongated by atension applied to the string; and a force sensor configured to measureeach of the tension applied to the string, an orientation of theelongated string with respect to the locomotion device, and a length ofthe elongated string.
 18. The system according to claim 1, wherein thecontroller is configured to: in an accompanying mode, control the motionof the locomotion device based on both of (i) a distance between themoving object and the locomotion device and (ii) an angle of a directionof the moving object with respect to the locomotion device to therebymaintain the distance and the angle within a preset distance range and apreset angle range, respectively; and in a following mode, control themotion of the locomotion device based on the distance between the movingobject and the locomotion device to maintain the distance within thepreset distance range.
 19. The system according to claim 1, wherein thecontroller is further configured to: define a plurality of regionsaround the locomotion device; determine whether the position of themoving object corresponds to one of the plurality of regions; andcontrol the motion of the locomotion device according to the one of theplurality of regions.
 20. A system configured to accompany a movingobject, the system comprising: at least one locomotion device configuredto move on a ground surface and to be controlled based on at least twodegrees of freedom of motion on the ground surface; a coordinatesmeasurement unit configured to measure coordinates of a point on thelocomotion device with respect to the moving object; and a controllerconfigured to, based on the coordinates of the point on the locomotiondevice with respect to the moving object, control a motion of thelocomotion device to maintain a position of the point on the locomotiondevice within a preset range with respect to the moving object, whereinthe coordinates of the point on the locomotion device with respect tothe moving object are determined based on coordinates of any one pointon the locomotion device measured with respect to a reference coordinatesystem fixed to the moving object.